/**
 * <p>SystemName: WLBSNS</p>
 * <p>Description: </p> 
 * <p>Copyright: Copyright (c) 2013</p> 
 * <p>Company: </p> 
 * @author Theron 
 * @date 2013年11月7日 下午6:30:44 
 * @version V1.0 
 */
package com.wlbsns.framework.db;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.wlbsns.framework.exception.SystemException;

/**
 * 
 * description：链接数据库操作类
 * @author Theron
 * @date 2013年11月7日 下午6:32:27
 */
public final class JdbcUtils {
	
	/**
	 * 
	 * function: 从容器dbcp连接池中获取数据库连接
	 * description: 
	 * @return Connection
	 */
	public static Connection getConnection() throws SystemException {
		/*
		//使用容器dbcp连接池
		try {
			Context initContext = new InitialContext();
			DataSource ds = (DataSource) initContext.lookup("java:/comp/env/jdbc/wlbsns");
			return ds.getConnection();
		} catch (NamingException e) {
			throw new SystemException(e.getMessage());
		} catch (SQLException e) {
			throw new SystemException(e.getMessage());
		}
		*/
		
		//自定义连接池
		ConnectionPool pool = new ConnectionPool();
		return pool.getConnection();
		
	}
	
	/**
	 * 
	 * function: 释放资源
	 * description: 
	 * @date 2013年11月7日 下午6:37:33
	 * @param rs
	 * @param st
	 * @param conn
	 */
	public static void closeResource(ResultSet rs,Statement st,Connection conn) throws SystemException{
		try {
			if (rs != null) {
				rs.close();
			}
		} catch (SQLException e) {
			throw new SystemException(e.getMessage());
		}finally{
			try {
				if (st != null) {
					st.close();
				}
			} catch (SQLException e) {
				throw new SystemException(e.getMessage());
			}finally{
				try {
					if (conn != null) {
						conn.close();
					}
				} catch (SQLException e) {
					throw new SystemException(e.getMessage());
				}
			}
		}

	}
}
